/*
 * trace_PathStackInfo.h
 *
 *  Created on: 2012/08/06
 *      Author: guanxiaoying
 */

#ifndef TRACE_PATHSTACKINFO_H_
#define TRACE_PATHSTACKINFO_H_
/*
 * the stack of PATH_INFO( for tracing )( stCmdPathInfoAccess ).
 * NOT in a loop:When a path has two out-path, and the first one will be the next-path,
 * and the other one will be pushed into this stack.
 * In a loop:When a path has two out-path, and the first one will be the next-path,
 * and the other one which belongs to current loop will be pushed into this stack.
 * (if it does not belong to current loop, it will be pushed into LOOP_EXIT stack.
*/
typedef struct _TRPATHSTACKINFOACCESS{
	BOOL (*clear)( VOID );
	BOOL (*alloc)( AST );
	AST  (*getMax)( VOID );
	/* property below: current path */
	ACCESS_IDX_FIELD currPathInfo;
	/* property below: next path */
	ACCESS_IDX_FIELD nextPathInfo;
	/* property below: the information before tracing currPathInfo */
	ACCESS_IDX_FIELD pathParam;
}TRPATHSTACKINFOACCESS;

extern const TRPATHSTACKINFOACCESS stTrPathStkAccess;
#endif /* TRACE_PATHSTACKINFO_H_ */
